|
開発製品:
Visual C++: Microsoft Foundation Classes (MFC) 40.dll and
Visual C++: Microsoft Foundation Classes (MFC) 40U.dll |
バージョン:
4.1 |
デザイン時: 対応 |
|
このツールを使って 「マイクロソフト西暦 2000 年対応」 に準拠するアプリケーションを構築できますか
はい |
|
言語: Chinese Simplified, German, English, Spanish, French, Italian, 日本語, Korean |
対応期間:
1980 年 1 月 1 日 から 2038 年 1 月 18 日 |
発売日:
1996 年 4 月 |
|
必要なソフトウェア: Version 4.1.6140 of MFC40.dll & MFC40U.dll |
|
依存する製品: Windows NT 4.0 Service Pack 4, Windows 98 |
|
依存するクロック: システムクロック |
|
カテゴリ: 開発製品 |
このツールを使って 「マイクロソフト西暦 2000 年対応」 に準拠するアプリケーションを構築できますか?
はい
注: ただし、適切なソフトウェアの修正プログラムおよびサービス パックが適用されていることを前提とします。
日付の処理
COleDateTime は、OLE オートメーションで使用されている DATE データ型に基づいて、100 年 1 月 1 日~ 9999 年 12 月 31 日までの日付を保存します。COleDateTime::operator= 関数には、オーバーライド機能があり、C ランタイムの time_t データ型をオーバライドします。time_t データ型の対応期間は 1970 年 1 月 1 日から 2038 年 1 月 18 日までの日付です。このオペレータを 2000 年 1 月 1 日以降に使用すると、COleDateTime オブジェクトは 2000 年ではなく 100 年を返します。
この問題は、MFC40.DLL および MFC40U.DLL の最新のバージョンでは解決されています。4.10.6140 以降のバージョンを配布するようにしてください。
下 2 桁の西暦の処理
COleDateTime オブジェクトには、下 2 桁の西暦が指定できます。この方法でオブジェクトを作成すると、西暦は 1900 年代と想定されます。そのため、西暦 2000 年以降に、95 を指定して COleDateTime を作成すると、そのオブジェクトは 1995 年を表わすことになります。
このようなランタイム ライブラリおよびツールの曖昧さや西暦の前提条件の問題を回避するには、4 桁の西暦で日付を指定することを推奨します。
西暦 2000 年問題に対応するアプリケーションの開発に関する注意点
1999 年以降に正しく動作させるには、MFC40.dll および MFC40u.dll のいずれかの DLL をオペレーションで使用するアプリケーションにはバージョン 4.10.6140 が必要になります。MFC40.dll のこのバージョンは、Windows 98 Service Pack 1 に含まれており、MFC40.dll および MFC40u.dll は Visual Studio 6.0 の Service Pack 3 に含まれる予定です。また、Windows の更新版にも含まれる予定です。
詳しくは、「